package com.lpf.custom;

import com.lpf.beans.Color;
import org.springframework.beans.factory.FactoryBean;

/**
 * 功能描述：创建一个Spring定义的FactoryBean
 *
 * @author:   lpf
 * @since:    2019-05-28 08:27:52
 * @version:  1.0
 */
public class ColorFactoryBean implements FactoryBean<Color> {

    /**
     * 功能描述：返回一个Color对象，这个对象会添加到容器中
     *
     * @author  lpf
     * @since   2019-05-28 08:28:05
     * @return  com.lpf.beans.Color
     */
    @Override
    public Color getObject() throws Exception {
        System.out.println("ColorFactoryBean...getObject...");
        return new Color();
    }

    @Override
    public Class<?> getObjectType() {
        return Color.class;
    }

    /**
     * 功能描述：
     *
     * @author  lpf
     * @since   2019-05-28 08:29:49
     * @return  boolean true：这个bean是单实例，在容器中保存一份
     *                  false：多实例，每次获取都会创建一个新的bean
     */
    @Override
    public boolean isSingleton() {
        return false;
    }

}
